﻿using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Kanban.Business;
using Kanban.Entity;
using System.Collections.Generic;

namespace Kanban.Test
{
    [TestClass]
    public class Testes_Usuario
    {
        [TestMethod]
        public void Deve_Adicionar_Novo_Usuario()
        {
            var business = new UsuarioBusiness();

            var quadro = new Usuario();
            quadro.Nome = "Usuario TESTE";

            business.Adicionar(quadro);

            Assert.IsTrue(quadro.Id > 0);
        }

        [TestMethod]
        public void Deve_Obter_Usuario_Por_Id()
        {
            var business = new UsuarioBusiness();

            Usuario quadro = business.ObterPorId(1);

            Assert.IsNotNull(quadro);
            Assert.IsTrue(quadro.Id > 0);
        }

        [TestMethod]
        public void Deve_Listar_Todos_Usuarios()
        {
            var business = new UsuarioBusiness();

            List<Usuario> lista = business.Listar();

            Assert.IsNotNull(lista);
            Assert.IsTrue(lista.Count > 0);
        }

        [TestMethod]
        public void Deve_Excluir_Usuario_Por_Id()
        {
            var business = new UsuarioBusiness();

            var usuario = new Usuario();
            usuario.Nome = "Usuario TESTE";

            business.Adicionar(usuario);

            business.Remover(usuario.Id);

            Usuario usuarioExcluido = business.ObterPorId(usuario.Id);

            Assert.IsNull(usuarioExcluido);
        }
    }
}
